package com.xueyi.system.originManager.domain.po;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xueyi.common.core.web.tenant.base.TBaseEntity;
import com.xueyi.system.originManager.domain.dto.OriginManagerDto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.xueyi.common.core.annotation.Excel;

import java.time.LocalDateTime;

/**
 * 产地加工 持久化对象
 *
 * @author zlf
 */
@TableName(value = "base_origin_manager", excludeProperty = {"name", "sort"},autoResultMap = true)
public class OriginManagerPo extends TBaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 加工名称
     */
    @Excel(name = "加工名称")
    @TableField("origin_name")
    private String originName;

    /**
     * 加工编码
     */
    @Excel(name = "加工编码")
    @TableField("origin_coe")
    private String originCoe;

    /**
     * 采收名称
     */
    @Excel(name = "采收名称")
    @TableField("harvest_id")
    private String harvestId;

    /**
     * 采收名称
     */
    @Excel(name = "采收名称")
    @TableField("harvest_name")
    private String harvestName;

    /**
     * 采收编码
     */
    @Excel(name = "采收编码")
    @TableField("harvest_code")
    private String harvestCode;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    @TableField("product_name")
    private String productName;

    /**
     * 干燥方法
     */
    @Excel(name = "干燥方法")
    @TableField("dry_method")
    private String dryMethod;

    /**
     * 净选方法
     */
    @Excel(name = "净选方法")
    @TableField("way_method")
    private String wayMethod;

    /**
     * 产品编码
     */
    @Excel(name = "产品编码")
    @TableField("product_code")
    private String productCode;

    /**
     * 加工设备id
     */
    @Excel(name = "加工设备id")
    @TableField(value = "process_equipment_id", typeHandler = FastjsonTypeHandler.class)
    private JSONArray processEquipmentId;

    /**
     * 加工设备名称
     */
    @Excel(name = "加工设备名称")
    @TableField("process_equipment_name")
    private String processEquipmentName;

    /**
     * 负责人
     */
    @Excel(name = "负责人")
    @TableField("principal_user_id")
    private String principalUserId;

    /**
     * 负责人
     */
    @Excel(name = "负责人")
    @TableField("principal_user")
    private String principalUser;

    /**
     * 加工工艺
     */
    @Excel(name = "加工工艺")
    @TableField("technology_type")
    private String technologyType;

    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    @TableField("contact_details")
    private String contactDetails;

    /**
     * 加工日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "加工日期", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("process_date")
    private LocalDateTime processDate;

    /**
     * 加工完成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "加工完成日期", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("process_end")
    private LocalDateTime processEnd;

    /**
     * 加工图片
     */
    @TableField(value = "process_img", typeHandler = FastjsonTypeHandler.class)
    private JSONArray processImg;

    /**
     * 单位名称
     */
    @Excel(name = "单位名称")
    @TableField("unit_name")
    private String unitName;

    /**
     * 数量
     */
    @Excel(name = "数量")
    @TableField("num")
    private Integer num;

    /**
     * 状态(1启用 2停用)
     */
    @Excel(name = "状态(1启用 2停用)")
    @TableField("status")
    private String status;


    /**
     * 定制批号
     */
    @Excel(name = "定制批号")
    @TableField("plant_id")
    private String plantId;

    /**
     * 审核人
     */
    @TableField(value = "checker")
    private String checker;

    /**
     * 审核人
     */
    @TableField(value = "check_code")
    private String checkCode;

    public String getChecker() {
        return checker;
    }

    public void setChecker(String checker) {
        this.checker = checker;
    }

    public String getCheckCode() {
        return checkCode;
    }

    public void setCheckCode(String checkCode) {
        this.checkCode = checkCode;
    }

    public JSONArray getProcessImg() {
        return processImg;
    }

    public void setProcessImg(JSONArray processImg) {
        this.processImg = processImg;
    }

    public String getDryMethod() {
        return dryMethod;
    }

    public void setDryMethod(String dryMethod) {
        this.dryMethod = dryMethod;
    }

    public String getWayMethod() {
        return wayMethod;
    }

    public void setWayMethod(String wayMethod) {
        this.wayMethod = wayMethod;
    }

    public LocalDateTime getProcessEnd() {
        return processEnd;
    }

    public void setProcessEnd(LocalDateTime processEnd) {
        this.processEnd = processEnd;
    }

    public String getPlantId() {
        return plantId;
    }

    public void setPlantId(String plantId) {
        this.plantId = plantId;
    }

    public String getTechnologyType() {
        return technologyType;
    }

    public void setTechnologyType(String technologyType) {
        this.technologyType = technologyType;
    }

    public String getHarvestId() {
        return harvestId;
    }

    public void setHarvestId(String harvestId) {
        this.harvestId = harvestId;
    }

    public String getPrincipalUserId() {
        return principalUserId;
    }

    public void setPrincipalUserId(String principalUserId) {
        this.principalUserId = principalUserId;
    }

    public void setOriginName(String originName) {
        this.originName = originName;
    }

    public String getOriginName() {
        return originName;
    }

    public void setOriginCoe(String originCoe) {
        this.originCoe = originCoe;
    }

    public String getOriginCoe() {
        return originCoe;
    }

    public void setHarvestName(String harvestName) {
        this.harvestName = harvestName;
    }

    public String getHarvestName() {
        return harvestName;
    }

    public void setHarvestCode(String harvestCode) {
        this.harvestCode = harvestCode;
    }

    public String getHarvestCode() {
        return harvestCode;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductCode() {
        return productCode;
    }

    public JSONArray getProcessEquipmentId() {
        return processEquipmentId;
    }

    public void setProcessEquipmentId(JSONArray processEquipmentId) {
        this.processEquipmentId = processEquipmentId;
    }

    public void setProcessEquipmentName(String processEquipmentName) {
        this.processEquipmentName = processEquipmentName;
    }

    public String getProcessEquipmentName() {
        return processEquipmentName;
    }

    public void setPrincipalUser(String principalUser) {
        this.principalUser = principalUser;
    }

    public String getPrincipalUser() {
        return principalUser;
    }

    public void setContactDetails(String contactDetails) {
        this.contactDetails = contactDetails;
    }

    public String getContactDetails() {
        return contactDetails;
    }

    public void setProcessDate(LocalDateTime processDate) {
        this.processDate = processDate;
    }

    public LocalDateTime getProcessDate() {
        return processDate;
    }


    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public Integer getNum() {
        return num;
    }

    @Override
    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String getStatus() {
        return status;
    }

}
